<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
        //正则表达式
        //创建 参数解释： 参数1：正则表达式 参数2：正则表达式修饰符[匹配模式] 
        //匹配模式 i:不区分大小写 m:多行匹配 g:全局匹配
        console.log("------------创建正则表达式-------------------")
        var re = new RegExp("a","i");
        console.log(re.test("A"));
        var re2 = /a/i;
        console.log(re2.test("A"));

        //创建一个正则表达式，检查一个字符串中是否有a或b
        console.log("------------创建一个正则表达式，检查一个字符串中是否有a或b-------------------")
        //var re3 = /a|b/;
        var re3 = /[ab]/;
        console.log(re3.test("a"));
        console.log(re3.test("b"));
        console.log(re3.test("c"));
        //创建一个正则表达式，检查一个字符串中是否有a-z
        console.log("------------创建一个正则表达式，检查一个字符串中是否有a-z-------------------")
        var re4 = /[a-z]/;
        console.log(re4.test("a"));
        //创建一个正则表达式，检查一个字符串中是否有a_c
        console.log("------------创建一个正则表达式，检查一个字符串中是否有a_c-------------------")
        var re4 = /a[a-z]c/;
        console.log(re4.test("aac"));

        //创建一个正则表达式，检查一个字符串中是否有非a或非b
        console.log("------------创建一个正则表达式，检查一个字符串中是否有非a或非b-------------------")
        var re4 = /[^ab]/;
        console.log(re4.test("abc"));

        // 字符串分割根据正则表达式分割
        console.log("------------字符串分割根据正则表达式分割-------------------")
        var str = "1a2b3c4d";
        re4 = /[0-9]/;
        str.split(re4).forEach(function(item){
            console.log(item);
        });

        // 匹配字符串第一次出现的索引，无返回-1
        console.log("------------匹配字符串第一次出现的索引，无返回-1-------------------")
        str = "hello world world world";
        re4 = /world/g;
        console.log(str.search(re4));
        // 匹配字符串提取
        // 返回一个数组
        // 数组的第一个元素是匹配的字符串，后面的元素是匹配的字符串的索引
        console.log("------------匹配字符串提取-------------------")
        console.log(str.match(re4));

        // 匹配字符串提取,出现n次,{n,} {n,m}, *={0,},?={0,1}
        console.log("------------匹配字符串提取，出现n次-------------------")
        re4 = /( world){3}/;
        console.log(str.match(re4));

        //匹配手机号
        console.log("------------匹配手机号-------------------")
        var re5 = /^1[3-9]\d{9}$/;
        console.log(re5.test("13112345678"));

        //检查一个字符串是否存在.
        console.log("------------检查一个字符串是否存在.-------------------")
        var re6 = /\./; //一般.表示任意字符，但是.表示匹配任意字符，除了换行符。
        console.log(re6.test("hello.world"));

        //检查邮箱格式
        console.log("------------检查邮箱格式-------------------")
        var re7 = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;//_表示匹配0次或1次;+表示匹配一次或多次;.表示匹配任意字符，除了换行符。
        console.log(re7.test("123@qq.com"));
        console.log(re7.test("123@qq.com"));
        console.log(re7.test("123.123@qq.com.cn"));

    </script>
</head>
<body>
    
</body>
</html>